import { UploadApiResult } from './model/uploadModel';
import { defHttp } from '@/utils/http/axios';
import { UploadFileParams } from '#/axios';
import { useGlobSetting } from '@/hooks/setting';
import { AxiosProgressEvent } from 'axios';

const { uploadUrl = '' } = useGlobSetting();

/**
 * @description: Upload interface
 */
export function uploadApi(
  params: UploadFileParams,
  onUploadProgress: (progressEvent: AxiosProgressEvent) => void,
) {
  return defHttp
    .uploadFile<UploadApiResult>(
      {
        url: uploadUrl,
        onUploadProgress,
      },
      params,
    )
    .then((res) => {
      return res.data;
    });
}
/**
 * @description: Upload interface
 */
export function uploadExcelApi(
  params: UploadFileParams,
  onUploadProgress: (progressEvent: AxiosProgressEvent) => void,
) {
  return defHttp.uploadFile<UploadApiResult>(
    {
      url: '/upload/excel',
      onUploadProgress,
    },
    params,
  );
}
